package com.jerome.fs.test;

import java.io.File;
import java.util.Objects;

/**
 * 文件扫描功能，获取文件夹下的所有java类引用
 */
public class FileScanner {
    public static void main(String[] args) {
        // 指定要扫描的文件夹路径
        String folderPath = "D:\\workspace\\studysource\\work2\\src\\main\\java";

        // 创建File对象，表示要扫描的文件夹
        File folder = new File(folderPath);

        // 调用递归方法，开始扫描文件夹
        scanFolder(folder, "");
    }

    // 递归方法，用于扫描文件夹
    public static void scanFolder(File folder, String path) {
        // 如果当前项是文件夹，则递归调用scanFolder方法，继续扫描子文件夹
        if (folder.isDirectory()) {
            for (File item : Objects.requireNonNull(folder.listFiles())) {
                if (item.isDirectory()) {
                    scanFolder(item, path + item.getName() + ".");
                } else {
                    // 如果当前项是文件，则输出文件路径和名称
                    System.out.println(path + item.getName());
                }
            }
        }
    }
}
